
#ifndef _SHAPEGROUP_H_
#define _SHAPEGROUP_H_

#include <vector>

#include "common.h"
#include "Shape.h"
#include "BaseShape.h"

__BEGIN_NAMESPACE_DECL_

class ShapeGroup : public BaseShape
{
    public:
        // Constructor
        ShapeGroup() { }

        // Destructor
        virtual ~ShapeGroup() { }

        // implementation of the draw method
        virtual void draw();

        // Adds a given shape to the group
        void addShape (Shape *shape);

    private:
        std::vector<Shape *> _group;
};

__END_NAMESPACE_DECL_

#endif
